ALBのターゲットにEC2 Auto Scaling Groupを設定する方法で迷った時に読む記事

ALBのターゲットにEC2 Auto Scaling Groupを設定する方法で迷った時に読む記事

Clock Icon2024.10.14

はじめに

初歩的なことですが、ALBのターゲットにEC2 Auto Sacling Group(以下ASG)を設定する際、
毎回どこからやるんだっけ?ということを数分考える or マネジメントコンソールから確認する。という時間が発生するので、備忘録として書き残します。

みなさんはALBのターゲットにASGを設定する際、こんなことを考えることはありませんか?
ALB側で登録するんだっけ?
ASG側で登録するんだっけ?
ASGで起動したEC2をELBのターゲットグループに登録すればいいんだっけ?

私はあります。

先に結論

ALBのターゲットにASGを登録する場合、ASGのロードバランサーターゲットグループという項目を設定します。
つまりASG側で設定します。
コンソール画面だとココです。
image1

やってみた

ALBで登録しようとしてみる

以下の条件で、ターゲットグループのターゲットにASGが選択できるか確認します。

  • ASG作成済み
    • ASG側でのロードバランサーとの紐付け設定は未設定
  • ASGによりEC2を2台起動

ターゲットグループの画面でターゲットを登録しようとすると、そもそもASGを選択する。ということができません。
コンソール画面で確認しても、どこにもそれらしい項目はありませんね。
image2
今回はASGにより2台のEC2があるので、とりあえず1台だけ追加するとどうなるのか確認してみます。

image3
想定通り、EC2が1台だけターゲットに登録されました。
ASGに含まれるEC2が1台でもターゲットに含まれれば、ASG全体がALBのターゲットになる。というようなことはありませんね。
あくまでもASG内の単体のEC2がターゲットに含まれるだけです。

ASGでロードバランサーターゲットグループを設定

ASGのロードバランサーターゲットグループを設定します。(こっちが正解)
これはASG側でALBのターゲットグループと紐付けを行う設定です。

ASGのコンソール画面 > 詳細 > ロードバランシング
の順に進みます。
紐付けを行うターゲットグループを選択します。
image4

ターゲットグループと紐づけられたことが確認できました。
image5

それではターゲットグループの画面から確認してみます。
image6

ASGで起動されたEC2が2つ登録されています。
つまり、ASGで起動したEC2が自動的にALBのターゲットに含まれたことが分かります。

ASG管理のEC2をさらに増やすと自動的にターゲットに含まれるはずです。やってみましょう。
ASGでEC2の起動数を3にしてみましょう。
これでターゲットに含まれるインスタンスが3つになっていればALBのターゲットにASGごと含まれていることが確認できます。
image7

3つ目のインスタンスも自動的にターゲットグループに登録されていますね。
これでターゲットグループとASGが紐づいていることが確認できました。

NLBのターゲットグループ

上記はALBのターゲットグループで確認しましたが、NLBのターゲットグループでも確認しました。
ALBであれ、NLBであれターゲットグループ単位での設定となるため、結果は同じくASG側のロードバランサーターゲットを設定することで、NLBのターゲットにASGを設定できました。

まとめ

ALBのターゲットにASGを設定するには、ASG側で設定すればいいということが頭に焼き付けられました。
これで毎回発生する少し考える時間を短縮できるようになりそうです。
この記事が私と同じようなことを毎回考えてる誰かのためになれば嬉しいです。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.